/**
 * TP GRUPO _ 
 * ALGORITMOS Y PROGRAMACION III
 */

package modelo;

/**
 * @author Grupo _
 */

import excepciones.EPotencia;

public class FuncionPotencia  extends  FuncionOperacional{
	
	public FuncionPotencia(Funcion base, Funcion exponente){
		this.setFuncion1(base);
		this.setFuncion2(exponente);		
	}
	
	public double calcular (double valor){
		double base = this.getFuncion1().calcular(valor);
		double exp = this.getFuncion2().calcular(valor);
		try{
			
			return potencia(base,exp);
			
		}catch(EPotencia ex){
			
			System.out.println(" 0 a la 0");
			return 0;
		}
		
		
	}

	public static double potencia(double b, double e) throws EPotencia {
		
		if ((b == 0) && (e ==0))
		           throw new  EPotencia();
		else
			return Math.pow(b,e);
		
	}
	
}
